﻿namespace Borg.AddOn
{
    public interface INotifierNotificationHook
    {
        void OnActivated(ExtensionEventArgs args);
        void OnClosed(SlotEventArgs args);
        void OnContractAdded(ContractEventArgs args);
        void OnContractRemoved(ContractEventArgs args);
        void OnCreated(ExtensionEventArgs args);
        void OnDeactivated(ExtensionEventArgs args);
        void OnDestroyed(ExtensionEventArgs args);
        void OnHandlerAdded(object handler);
        void OnHandlerInvocationFinished(object handler);
        void OnHandlerInvocationStarted(object handler);
        void OnHandlerRemoved(object handler);
        void OnOpened(SlotEventArgs args);
        void OnPlugged(CompositionEventArgs args);
        void OnPluginAdded(PluginEventArgs args);
        void OnPluginRemoved(PluginEventArgs args);
        void OnTagged(TagEventArgs args);
        void OnUnplugged(CompositionEventArgs args);
        void OnUntagged(TagEventArgs args);
    }
}

